<%--
    Document   : verificaRatingCurso
    Created on : 09/03/2009, 01:03:26 AM
    Author     : gabriel
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<%@ page import="java.util.*" %>
<%@ page import="connect.HandlerDB" %>
<%

        if (session.getAttribute("user") == null) {
            String error = "usuario nulo";
            session.setAttribute("error", error);
            response.sendRedirect("error.jsp");
            return;
        }
        String xaccion = request.getParameter("accion");
        String sql;
        HandlerDB handler = new HandlerDB();
        handler.openConnection();
        Vector vec;
        String resultado;


        String str_totalVotos;
        sql="select curso_rating from Curso where curso_id ="+session.getAttribute("curs_id_");
        vec=handler.query(sql);
        str_totalVotos=(String)(((Vector)vec.get(0)).get(0));
        session.setAttribute("totalvotos", str_totalVotos);

        if (xaccion.compareTo("actualizar") == 0) {
            sql = "select count(*) from User_Rating where ";
            sql = sql + "curso_id =" + session.getAttribute("curs_id_");
            sql = sql + " and user_id =" + session.getAttribute("user");
            vec=handler.query(sql);
            resultado=(String)(((Vector)vec.get(0)).get(0));
            if (resultado.compareTo("0") ==0){
                session.setAttribute( "voto_actual","sinVoto");
            }
            else{
                session.setAttribute( "voto_actual","conVoto");
            }
        } else {
            if (xaccion.compareTo("agregar") == 0) {
                String xrating=request.getParameter("rating");

                sql="select max(curso_id) from Curso";
                vec=handler.query(sql);
                String str_id_rating;
                if (((Vector)vec.get(0)) == null ||((Vector)vec.get(0)).get(0) == null)
                    str_id_rating="0";
                else
                    str_id_rating=(String)(((Vector)vec.get(0)).get(0));
                Integer xrating_id;
                xrating_id=Integer.parseInt(str_id_rating);
                xrating_id++;


                sql="INSERT INTO Rating (puntos) VALUES ("+xrating+")";
                handler.insert(sql);

                sql="INSERT INTO User_Rating(rating_id,user_id,curso_id) VALUES (";
                sql=sql+xrating_id+","+session.getAttribute("user")+","+session.getAttribute("curs_id_")+")";
                handler.insert(sql);

                sql="select curso_rating from Curso where curso_id ="+session.getAttribute("curs_id_");
                vec=handler.query(sql);

                str_totalVotos=(String)(((Vector)vec.get(0)).get(0));
                double totalvotos=Double.parseDouble(str_totalVotos);
                totalvotos=(totalvotos+Integer.parseInt(xrating))/2;

                sql="UPDATE Curso SET curso_rating ="+totalvotos+" WHERE curso_id ="+session.getAttribute("curs_id_");
                handler.update(sql);

                session.setAttribute("totalvotos", totalvotos);
                response.sendRedirect("accederCurso.jsp");

            } else {
                String error = "accion no valida";
                session.setAttribute("error", error);
                response.sendRedirect("error.jsp");
            }
        }
%>